(define (union-set list1 list2)
  (cond ((null? list1) list2)
        ((null? list2) list1)
        ((not (element-of-set? (car list1) list2)) (union-set (cdr list1) (cons (car list1) list2)))
        (else (union-set (cdr list1) list2))))
